package juego.powerups;

import javax.swing.ImageIcon;
import javax.swing.JLabel;

import juego.control.Personaje;
import juego.entidades.Entidad;
import juego.entidades.Vacio;
import juego.graficos.ElementoGrafico;

public class BombaNuclear extends PowerUp {
	
	public BombaNuclear()
	{
		this.valor = 45;
	}
	
	protected Object clone()
	{
		BombaNuclear bomba = new BombaNuclear();
		return bomba;
	}


	@Override
	public String soy() {
	
		return ("Bomba Nuclear");
	}

	public void colisionarPowerUp(Personaje mario, int x, int y,JLabel jLabel1) {
		Entidad vacio= (Entidad) mario.getLevel().getEntidad(x,y);
		if (vacio.tienePremios()&& (!vacio.nombreEntidad().equals("piedra rompible"))){
		vacio.getPremio();
		jLabel1.remove(vacio.getGrafico());
		vacio.setGrafico(new ElementoGrafico(new ImageIcon(getClass().getClassLoader().getResource("juego/graficos/powerups/vacio/vacio_transparente.png"))));
		vacio.getGrafico().setLocation(y*32, x*32);
		jLabel1.add(vacio.getGrafico());
		jLabel1.repaint();

	    int alcance1=y-19;
	    int alcance2=y+19;
		
	    while (alcance1!=y){
	    Entidad e=	mario.getLevel().getEntidad((x-2),alcance1);
	    Entidad e2=	mario.getLevel().getEntidad((x+2),alcance1);
	  
	    if (e!=null){
	    if (e.hayMalos()){
	    	e.getMalos().get(0).destruirMovimiento();
	    	e.getMalos().get(0).eliminarEnemigo(mario, (x-2), alcance1, jLabel1);
	    	e.setGrafico((new ElementoGrafico(new ImageIcon(getClass().getClassLoader().getResource("juego/graficos/powerups/bomba/fire (1).gif")))));
	    	e.getGrafico().setLocation(alcance1*32, (x-2)*32);
            jLabel1.add(e.getGrafico());
            jLabel1.repaint();
	    }}
	    
	    if (e2!=null){
	    if (e2.hayMalos()){
	    	if (!e2.getMalos().isEmpty()){
	    	e2.getMalos().get(0).eliminarEnemigo(mario, x+2, alcance1, jLabel1);
	    	e2.setGrafico((new ElementoGrafico(new ImageIcon(getClass().getClassLoader().getResource("juego/graficos/powerups/bomba/fire (1).gif")))));
	    	e2.getGrafico().setLocation(alcance1*32, (x+2)*32);
            jLabel1.add(e2.getGrafico());
            jLabel1.repaint();
	    	
	    }}
	    }
	    
	  
	    alcance1++;	
	   }
	    
	    while (alcance2!=y){
		    Entidad e=	mario.getLevel().getEntidad((x+2),alcance2);
		    Entidad e2= mario.getLevel().getEntidad((x-2),alcance2);
		   
		    if (e!=null){
		    if (e.hayMalos()){
		    	e.getMalos().get(0).eliminarEnemigo(mario, x+2, alcance2, jLabel1);
		    	e.setGrafico((new ElementoGrafico(new ImageIcon(getClass().getClassLoader().getResource("juego/graficos/powerups/bomba/fire (1).gif")))));
                e.getGrafico().setLocation(alcance2*32, (x+2)*32);
                jLabel1.add(e.getGrafico());
                jLabel1.repaint();
		    }
		  
		    	
		    }
		    if (e2!=null){
		    	 if (e2.hayMalos()){
		    		    e2.getMalos().get(0).destruirMovimiento();
				    	e2.getMalos().get(0).eliminarEnemigo(mario, (x-2), alcance2, jLabel1);
				    	
				    	e2.setGrafico((new ElementoGrafico(new ImageIcon(getClass().getClassLoader().getResource("juego/graficos/powerups/bomba/fire (1).gif")))));
				    	e2.getGrafico().setLocation(alcance2*32, (x-2)*32);
		                jLabel1.add(e2.getGrafico());
		                jLabel1.repaint();
				    }
		    	
		    	
		    }
		    
		  
		    
		   alcance2--;	

		
	}
	    
		mario.setPuntaje(mario.getPuntaje()-this.valor); 
		mario.getVentanaPrincipal().actualizarPuntaje();
		
	}}

	
	public void dibujate(Personaje mario, int x, int y, JLabel jLabel1) {
		Vacio vacio=new Vacio();
		BombaNuclear h=new BombaNuclear();
		vacio.setGrafico(new ElementoGrafico(new ImageIcon(getClass().getClassLoader().getResource("juego/graficos/powerups/bomba/boom.gif"))));
		vacio.addPremio(h);
		mario.getLevel().setEntidad(x-1,y,vacio);
		vacio.getGrafico().setLocation(y*32, (x-1)*32);
		jLabel1.add(vacio.getGrafico());
		jLabel1.repaint();
		
		
	}

	
}







